How to do application development


Phase Questions Wisdom
Definition
  • Who are we trying to help?
  • What are we trying to do for them?
  • Is there a problem?
  • How do you know there is a problem? (What are the symptoms?)
  • How will we know that we've done the job?
  • What the user is complaining about isn't what's really bothering her.
Analysis
  • What's the output? Start with the intended result.
  • Have you ever seen a problem like this before?
  • What will change if we do this job?
  • Who else will be affected?
  • What will it cost? Who will pay?
  • Doing nothing is always an option.
  • There are different ways of doing nothing.
Design
  • Have you ever seen a problem like this before?
  • What's another way of doing the same thing?
  • What will this look like in 6 months?
  • What will this look like in 2 years?
  • Seek elegance. Elegance is beauty as a result of choice.
Construction
  • What does the design say to do?
  • Does your work reflect the design?
  • Did you include everything in the design?
  • Did you leave out everything that isn't in the design?
  • Follow the design; that's why you did it.
Testing
  • What changed because of what we did?
  • Did we do what we intended to do? How do you know?
  • Did we do what we promised to do? How do you know?
  • Did we do something we didn't intend? How do you know?
  • Follow the design.
  • Prove that your confidence is justified.
Review
  • Does it work?
  • Did what we did help someone?
  • Did what we did make someone happy?
  • Did what we did make someone unhappy?
  • Did we learn anything? Are we better because we did this?
  • What did it really cost to do this?
  • Until you're perfect there will always be mistakes to learn from.

March, 2005